<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">

<h:head>
	<link type="text/css" rel="stylesheet"
		href="#{request.contextPath}/CSS/style.css" />
	<title>Pagina Personale Cliente</title>
</h:head>
<h:body>
	<div id="header">
		<ui:include src="/snippets/header.xhtml"></ui:include>
	</div>
	<ui:include src="menù.xhtml">
		<ui:param name="tabSelected" value="0" />
	</ui:include>
	<div id="content">
		<p:messages id="messages" showDetail="false" autoUpdate="false"
			closable="true" for="regSubmit" />
		<h:form id="costruzForm">
			<p:dataTable id="paccInCostruzione" var="paccPrivVar"
				value="#{personalizzaWizard.paccInCostruzione()}"
				emptyMessage="Nessun pacchetto in costruzione"
				disabledSelection="true">
				<f:facet name="header">Pacchetto Viaggio in Costruzione</f:facet>

				<p:column headerText="Nome">
					<h:outputText value="#{paccPrivVar.nome}" />
				</p:column>
				<p:column headerText="Località">
					<h:outputText value="#{paccPrivVar.localitàPacchetto}" />
				</p:column>
				<p:column headerText="Hotel">
					<h:outputText value="#{paccPrivVar.hotel.nome}" />
				</p:column>
				<p:column headerText="Escursione">
					<h:outputText value="#{paccPrivVar.escursione.nome}" />
				</p:column>
				<p:column headerText="Prezzo base">
					<h:outputText value="#{paccPrivVar.prezzo}" />
				</p:column>
				<p:column>
					<p:commandButton value="Acquista"
						onclick="PF('dlgAcquista').show();" icon="ui-icon-cart" />
				</p:column>
				<p:column>
					<p:commandButton value="Elimina" icon="ui-icon-close"
						action="#{pacchettiBean.cancellaPaccInCostruzione()}"
						update="paccInCostruzione, :messages" />
				</p:column>
			</p:dataTable>
		</h:form>
		<h:form>
			<p:dialog id="dialogAcquista" header="Acquista Pacchetto"
				widgetVar="dlgAcquista" showEffect="clip" hideEffect="clip"
				dynamic="true">

				<p:ajax event="close" update="" />

				<p:panel header="Modulo di Personalizzazione">
					<p:wizard flowListener="#{personalizzaWizard.onFlowProcess}"
						widgetVar="wizPers">

						<p:tab id="pacchettoInCostruzione" title="Pacchetto base">

							<p:panel>
								<h:panelGrid columns="2">
									<h:outputText value="Nome:" />
									<h:outputText value="#{personalizzaWizard.paccPriv.nome}" />

									<h:outputText value="Località:" />
									<h:outputText
										value="#{personalizzaWizard.paccPriv.localitàPacchetto}" />

									<h:outputText value="Hotel:" />
									<h:outputText value="#{personalizzaWizard.paccPriv.hotel.nome}" />

									<h:outputText value="Escursione:" />
									<h:outputText
										value="#{personalizzaWizard.paccPriv.escursione.nome}" />

									<h:outputText value="Prezzo base:" />
									<h:outputText value="#{personalizzaWizard.paccPriv.prezzo}" />

								</h:panelGrid>
							</p:panel>
						</p:tab>
						<p:tab id="partenza" title="Partenza">

							<p:panel>
								<h:messages errorClass="error" />

								<h:panelGrid columns="2">
									<h:outputText value="Partenza:" />
									<p:selectOneMenu id="località"
										value="#{personalizzaWizard.paccPriv.localitàPartenza}"
										required="true" requiredMessage="Seleziona una località">
										<f:selectItem itemLabel="Scegli una città" itemValue="" />
										<f:selectItems
											value="#{prodottiBean.listaLocalitàRidotta(personalizzaWizard.paccPriv.localitàPacchetto)}"
											var="loc" itemLabel="#{loc.id} - #{loc.nome}"
											itemValue="#{loc.id}" />
									</p:selectOneMenu>

								</h:panelGrid>
							</p:panel>
						</p:tab>
						<p:tab id="prodottiBase" title="Prodotti base">

							<p:panel>
								<h:messages errorClass="error" />

								<h:panelGrid columns="2">
									<h:outputText value="Hotel:" />
									<p:selectOneMenu id="hotel"
										value="#{personalizzaWizard.paccPriv.hotel}"
										converter="#{converterBean}">
										<f:selectItem
											itemLabel="#{personalizzaWizard.paccPriv.hotel.nome}"
											itemValue="#{personalizzaWizard.paccPriv.hotel}" />
										<f:selectItems
											value="#{personalizzaWizard.listaHotelRidotta()}" var="hotel"
											itemLabel="#{hotel.nome}" itemValue="#{hotel}" />
									</p:selectOneMenu>

									<h:outputText value="Escursione" />
									<p:selectOneMenu id="escursione"
										value="#{personalizzaWizard.paccPriv.escursione}"
										converter="#{converterBean}">
										<f:selectItem
											itemLabel="#{personalizzaWizard.paccPriv.escursione.nome}"
											itemValue="#{personalizzaWizard.paccPriv.escursione}" />
										<f:selectItems
											value="#{personalizzaWizard.listaEscursioniRidotta()}"
											var="esc" itemLabel="#{esc.nome}" itemValue="#{esc}" />
									</p:selectOneMenu>

									<h:outputText value="Trasporto Andata:" />
									<p:selectOneMenu id="traspAndata"
										value="#{personalizzaWizard.paccPriv.trasportoAndata}"
										converter="#{converterBean}" required="true"
										requiredMessage="Seleziona un trasporto di ritorno">
										<f:selectItem itemLabel="Scegli un trasporto" itemValue="" />
										<f:selectItems
											value="#{personalizzaWizard.listaTrasportiAndata()}"
											var="trasp"
											itemLabel="#{trasp.codice}-#{trasp.localitàPartenza}-#{trasp.località}"
											itemValue="#{trasp}" />
									</p:selectOneMenu>

									<h:outputText value="Trasporto Ritorno:" />
									<p:selectOneMenu id="traspRitorno"
										value="#{personalizzaWizard.paccPriv.trasportoRitorno}"
										converter="#{converterBean}" required="true"
										requiredMessage="Seleziona un trasporto di ritorno">
										<f:selectItem itemLabel="Scegli un trasporto" itemValue="" />
										<f:selectItems
											value="#{personalizzaWizard.listaTrasportiRitorno()}"
											var="trasp"
											itemLabel="#{trasp.codice}-#{trasp.localitàPartenza}-#{trasp.località}"
											itemValue="#{trasp}" />
									</p:selectOneMenu>

								</h:panelGrid>
							</p:panel>
						</p:tab>
						<p:tab id="datePersone" title="Date e Persone">
							<p:panel>
								<h:messages errorClass="error" />

								<h:panelGrid columns="2">
									<h:outputText value="Numero di Persone:" />
									<p:spinner id="spinnerBasic"
										value="#{personalizzaWizard.paccPriv.numeroPersone}" min="1" />

									<h:outputText value="Data di Partenza:" />
									<p:calendar value="#{personalizzaWizard.paccPriv.dataPartenza}"
										id="ddp" showButtonPanel="true" required="true"
										requiredMessage="Inserire una data di partenza"
										mindate="#{personalizzaWizard.currentDate}">
										<f:convertDateTime pattern="dd/MM/yy" />
									</p:calendar>

									<h:outputText value="Data di Ritorno:" />
									<p:calendar value="#{personalizzaWizard.paccPriv.dataRitorno}"
										id="ddr" showButtonPanel="true" required="true"
										requiredMessage="Inserire una data di ritorno"
										mindate="#{personalizzaWizard.currentDate}">
										<f:convertDateTime pattern="dd/MM/yy" />
									</p:calendar>
								</h:panelGrid>
							</p:panel>
						</p:tab>
						<p:tab id="conferma" title="Conferma">
							<p:panel>
								<h:panelGrid id="confirmation" columns="2">
									<h:outputText value="Nome" />
									<h:outputText value="#{personalizzaWizard.paccPriv.nome}" />
									<h:outputText value="Partenza" />
									<h:outputText
										value="#{personalizzaWizard.paccPriv.localitàPartenza}" />
									<h:outputText value="Destinazione" />
									<h:outputText
										value="#{personalizzaWizard.paccPriv.localitàPacchetto}" />
									<h:outputText value="Trasporto Andata" />
									<h:outputText
										value="#{personalizzaWizard.paccPriv.trasportoAndata.codice}" />
									<h:outputText value="TrasportoRitorno" />
									<h:outputText
										value="#{personalizzaWizard.paccPriv.trasportoRitorno.codice}" />
									<h:outputText value="Hotel" />
									<h:outputText value="#{personalizzaWizard.paccPriv.hotel.nome}" />
									<h:outputText value="Escursione" />
									<h:outputText
										value="#{personalizzaWizard.paccPriv.escursione.nome}" />
									<h:outputText value="Persone" />
									<h:outputText
										value="#{personalizzaWizard.paccPriv.numeroPersone}" />
									<h:outputText value="Data Partenza" />
									<h:outputText
										value="#{personalizzaWizard.paccPriv.dataPartenza}" />
									<h:outputText value="Data Ritorno" />
									<h:outputText
										value="#{personalizzaWizard.paccPriv.dataRitorno}" />
									<h:outputText value="Prezzo" />
									<h:outputText value="#{personalizzaWizard.calcolaPrezzo()}" />
								</h:panelGrid>
								<br />
								<p:commandButton id="regSubmit" value="Acquista"
									actionListener="#{personalizzaWizard.save}" icon="ui-icon-cart"
									iconPos="right"
									update="paccAcquistati, :messages, :costruzForm:paccInCostruzione"
									oncomplete="PF('dlgAcquista').hide();" />
							</p:panel>
						</p:tab>
					</p:wizard>
				</p:panel>

			</p:dialog>

			<br />
			<br />
			<br />
			<p:dataTable id="paccAcquistati" var="paccAcqVar"
				value="#{pacchettiBean.listaPaccAcquistati()}"
				rowKey="#{paccAcq.idPacchetto}"
				emptyMessage="Nessun pacchetto acquistato" paginator="true"
				rows="10" rowsPerPageTemplate="5,10,15">
				<f:facet name="header">Pacchetti Viaggio acquistati</f:facet>

				<p:column headerText="Nome">
					<h:outputText value="#{paccAcqVar.nome}" />
				</p:column>
				<p:column headerText="Località di partenza">
					<h:outputText value="#{paccAcqVar.localitàPartenza}" />
				</p:column>
				<p:column headerText="Località">
					<h:outputText value="#{paccAcqVar.localitàPacchetto}" />
				</p:column>
				<p:column headerText="Trasporto Andata">
					<h:outputText value="#{paccAcqVar.trasportoAndata}" />
				</p:column>
				<p:column headerText="TrasportoRitorno">
					<h:outputText value="#{paccAcqVar.trasportoRitorno}" />
				</p:column>
				<p:column headerText="Hotel">
					<h:outputText value="#{paccAcqVar.hotel}" />
				</p:column>
				<p:column headerText="Escursione">
					<h:outputText value="#{paccAcqVar.escursione}" />
				</p:column>
				<p:column headerText="Persone">
					<h:outputText value="#{paccAcqVar.numeroPersone}" />
				</p:column>
				<p:column headerText="Data Partenza">
					<h:outputText value="#{paccAcqVar.dataPartenza}" />
				</p:column>
				<p:column headerText="Data Ritorno">
					<h:outputText value="#{paccAcqVar.dataRitorno}" />
				</p:column>
				<p:column headerText="Prezzo">
					<h:outputText value="#{paccAcqVar.prezzo}" />
				</p:column>
				<f:facet name="footer">
					<h:outputText
						value="in totale: #{pacchettiBean.numAcquisti} viaggi acquistati" />
				</f:facet>
			</p:dataTable>
		</h:form>
	</div>

</h:body>
</html>